#ifndef XGP_STUDY_DEMO4_MYLINKLIST_H
#define XGP_STUDY_DEMO4_MYLINKLIST_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//链表小结点
typedef struct LINKNODE {
    struct LINKDODE* next;
}LinkNode;
//链表结点
typedef struct LINKLIST {
    LinkNode head;
    int size;
}LinkList;

typedef void(*PRINTNODE)(LinkNode*);

//初始化链表
LinkList* Init_LinkList();
//插入
void Insert_LinkList(LinkList* list, int pos,LinkNode* data);
//删除指定位置的值
void RemoveByPos_LinkList(LinkList* list,int pos);
//获得链表的长度
int Size_LinkList(LinkList* list);
//打印
void Print_LinkList(LinkList* list,PRINTNODE print);
//释放链表内存
void FreeSpace_LinkList(LinkList* list);
//按值查找
int Find_LinkList(LinkList* list,LinkNode* data);

#endif //XGP_STUDY_DEMO4_MYLINKLIST_H
